//
//  HNLookUpTeacherSignVC.m
//  优学荟管理系统
//
//  Created by edz on 2017/12/4.
//  Copyright © 2017年 星道三好. All rights reserved.
//

#import "HNLookUpTeacherSignVC.h"


@interface HNLookUpTeacherSignVC ()<UITableViewDelegate, UITableViewDataSource>
/** 表单 */
@property (nonatomic, strong) UITableView *TableView;
/** 数据存放地 */
@property (nonatomic, strong) NSMutableArray *DataArr;
/** 当前的页 */
@property (nonatomic, assign) NSInteger CurrentPage;
/** 临时保存的页数 */
@property (nonatomic, assign) NSInteger TempPage;
@end

@implementation HNLookUpTeacherSignVC

#pragma mark - 生命周期
- (void)viewDidLoad {
    
    [super viewDidLoad];
    // 配置TableView
    [self ConfigTableView];
}

#pragma mark - Config
/** 配置TableView */
- (void)ConfigTableView {
    // 设置代理
    self.TableView.delegate = self;
    self.TableView.dataSource = self;
    // 设置占位View
    self.TableView.tableFooterView = [UIView new];
    self.TableView.tableHeaderView = [UIView new];
    // 设置自动Cell高
    self.TableView.rowHeight = UITableViewAutomaticDimension;
    self.TableView.estimatedRowHeight = 200;
    // 设置预注册
    [self.TableView registerNib:[UINib nibWithNibName:[UITableView description] bundle:nil] forCellReuseIdentifier:@"Cell"];
    // 增加刷新头
    self.TableView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{
        // 每次下拉刷新时都保存好当前的页数，预防刷新失败后页数错乱
        self.TempPage = self.CurrentPage;
        // 当前的刷新设为1
        self.CurrentPage = 1;
        // 获取数据
        [self RefreshData];
    }];
    // 增加刷新尾
    self.TableView.mj_footer = [MJRefreshAutoNormalFooter footerWithRefreshingBlock:^{
        // 获取数据
        [self RefreshData];
    }];
    // 开始刷新
    [self.TableView.mj_header beginRefreshing];
}

/** 刷新失败时的页数处理 */
- (void)MgrPage {
    
    self.CurrentPage = self.TempPage;
}

/** 刷新状态 1结束刷新 2没有更多数据了 3刷新表单*/
- (void)MgrRefresh:(NSInteger)State {
    
    if (State == 1) {
        [self.TableView.mj_header endRefreshing];
        [self.TableView.mj_footer endRefreshing];
    } else if (State == 2) {
        [self.TableView.mj_footer endRefreshingWithNoMoreData];
    } else if (State == 3) {
        [self.TableView reloadData];
    } else  {
        // 无
    }
}

#pragma mark - 网络
- (void)RefreshData {
    
    NSDictionary *Params = @{
                             @"action":@"getTeacherRecord",
                             @"pageNumber":@(self.CurrentPage),
                             @"oid" :[AccountTool shareAccountTool].currentAccount.oid
                             };
    [NetManager Get:LLBaseURL(@"yxhUser.do") Auth:YES Params:Params Success:^(id responseObj) {
        
        // 结束刷新
        [self MgrRefresh:1];
        // 数据处理
        if ([responseObj[@"code"] isEqualToNumber:@1000]) {
            // 拿到数据
            NSArray *Arr = responseObj[@"t"][@"dataList"];
            // 如果当前的页码是1就先清空原数据
            self.CurrentPage == 1 ? [self.DataArr removeAllObjects]:nil;
            // 如果没有数据就提示没数据了
            if (Arr.count == 0) {
                
                [self MgrRefresh:2];
            } else {
                // 终于有数据啦
                [Arr enumerateObjectsUsingBlock:^(NSDictionary * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
                    // 处理模型转对象
                }];
                self.CurrentPage += 1;
                [self MgrRefresh:3];
            }
        } else {
            // 数据获取失败
            [SVProgressHUD showErrorWithStatus:responseObj[@"msg"]];
            [self MgrPage];         }
    } Fail:^(NSError *error) {
        
        [SVProgressHUD showErrorWithStatus:NetErr];
        [self MgrRefresh:1];
        [self MgrPage];
    }];
}

#pragma mark - tableView delegate
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    
    return self.DataArr.count;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    
    return nil;
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    
    
}

#pragma mark - 自定义方法

#pragma mark - 点击事件


#pragma mark - Get
- (NSMutableArray *)DataArr {
    if (!_DataArr) {
        _DataArr = [NSMutableArray array];
    }
    return _DataArr;
}

- (UITableView *)TableView {
    if (!_TableView) {
        _TableView = [[UITableView alloc] initWithFrame:self.view.bounds style:(UITableViewStylePlain)];
        [self.view addSubview:_TableView];
    }
    return _TableView;
}
@end

